#ifndef MS100_H
#define MS100_H

const int HeapSize=20;
struct MyStack{
    int st[HeapSize];
    int top;
    int minst[HeapSize];
    int minId;

    MyStack():top(-1),minId(-1){}
    int push(int data);
    int pop();
    int min();
};

class Ms100
{
public:
    Ms100();

    void testSt();

    //ms 3
    int getMaxSum(int A[],int n);
    void testMaxSum();
    //ms 5
    void findMinK(int A[],int n,int k);
    void justHeap(int A[],int n,int ind);

    void findMinK(int A[], int begin,int end, int k);
};

#endif // MS100_H
